<%-- 
    Document   : Lista_livro
    Created on : Nov 9, 2013, 1:29:27 PM
    Author     : VictorMatos
--%>
<%@page import="com.server.util.LoginsSingleton"%>
<%@page import="com.server.comparator.LivroComparator"%>
<%@page import="com.server.model.Livro"%>
<%@page import="java.util.List"%>
<%@page import="java.util.Comparator"%>
<%@page import="java.util.Collections"%>
<%@page import="java.util.ArrayList"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="com.server.dao.*"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Listagem de livros</title>
        <link href = "CSS/Style.css" rel = "stylesheet" type = "text/css"/>
        <script>
            function orderPage(param)
            {
                window.location.href = window.location.href.match(/^[^\#\?]+/)[0] + "?order=" + param;
            }
        </script>
    </head>

    <body>

        <%!             LivroDAO livroDAO01 = new LivroDAO();
                        ResultSet res;
        %>        

        <div id ="container">
            <div id ="header">
                <div id ="menu">
                    <ul>
                        <li><a href ="home.jsp">Home</a></li>
                        <li><a href ="lista_livro.jsp">Listar livros</a></li>
                        <li><a href ="cadastra_livro.jsp">Cadastrar livros</a></li>
                        <li><a href ="exclui_livro.jsp">Excluir livros</a></li>
                        <li><a href ="LoginServlet">Logout</a></li>
                    </ul>
                </div><!--menu-->
            </div><!--header-->    

        <i><h3> Usuários Conectados: <%out.print(LoginsSingleton.getInstance().getQuantidade());%> </h3></i>
        <br> 
            
            <%
        
         if ( session.getAttribute("Usuario") == null){
                response.sendRedirect("index.jsp");
         }
        
                out.println("<h1>Lista de livros cadastrados</h1><br/>");
                out.println("<table id='tableLivros' width='960px' border='1' cellpadding='0' cellspacing='0' bgcolor='#FFFFFF'");
                out.println("<tr><td align='center' bgcolor= '#999999' onclick='orderPage(0)'> <font color='#ffffff'> <b>Código</b></th>"
                        + "<td align='center' bgcolor= '#999999' onclick='orderPage(1)'><font color='#ffffff'><b>Título</b></th>"
                        + "<td align='center' bgcolor= '#999999' onclick='orderPage(2)'><font color='#ffffff'><b>Autor</b></th>"
                        + "<td align='center' bgcolor= '#999999' onclick='orderPage(3)'><font color='#ffffff'><b>Data de publicação</b></th></tr></thead>");
                
                out.println( "<br><i><h4>Para ordenar os livros clique na coluna desejada</h4></i> <br>");
                res = livroDAO01.selectAll();
                List<Livro> newList = new ArrayList<Livro>();
                while (res.next()) {
                    Livro newLivro = new Livro();
                    newLivro.setId(res.getInt("Id"));
                    newLivro.setTitulo(res.getString("Titulo"));
                    newLivro.setAutor(res.getString("Autor"));
                    newLivro.setData_publicacao(res.getString("Data_publicacao"));
                    newList.add(newLivro);
                }
                int param;
                if (request.getParameter("order") == null) {
                    param = 0;
                } else {
                    try {
                        param = Integer.valueOf(request.getParameter("order"));
                    } catch (NumberFormatException e) {
                        param = 0;
                    }
                }
                Collections.sort(newList, new LivroComparator(param));
                for (Livro livroIt : newList) {
                    out.println(" <tr><td align='center'>" + livroIt.getId() + "</td>"
                            + "<td align='center'>" + livroIt.getTitulo() + "</td>"
                            + "<td align='center'>" + livroIt.getAutor() + "</td>"
                            + "<td align='center'>" + livroIt.getData_publicacao() + "</td></tr>");
                }

                out.println("</table>");
            %>       
        </div><!--container-->  

    </body>
</html>
